Don't allow empty input in most prompts#5043
Merged
stefanhaller merged 7 commits intomasterfrom Nov 15, 2025
Merged
Conversation
…unction And call this new helper function from both wrappedConfirmationFunction and wrappedPromptConfirmationFunction; this gives us more flexibility to do different things in each of those.
Previously it was used both for the Confirm handler and the Cancel handler, as well as for the Confirm handler of confirmation popups (not prompts). There was no other way to do it given how wrappedConfirmationFunction was shared between all these; but now there is. The logic is really only needed for the Confirm handler of prompts. This doesn't fix anything, it just makes things clearer.
The comment was apparently copy/pasted from above; the branch name cannot be blank in this case.
Most of our prompts don't (shouldn't) allow empty input, but most callers didn't check, and would run into cryptic errors when the user pressed enter at an empty prompt (e.g. when creating a new branch). Now we simply don't allow hitting enter in this case, and show an error toast instead. This behavior is opt-out, because there are a few cases where empty input is supported (e.g. creating a stash).
As of the previous commit, branchName can no longer be empty, so no need to handle this.
This doesn't really solve a pressing problem, because I guess it's unlikely that users add spaces at the beginning or end of what they type into a prompt; but it could happen, and in this case we almost always want to strip it. Just adding this here for completeness while I was working on this code. The only exception is the input prompt of custom commands, because who knows what users want to use that input for in their custom command.
The prompt code takes care of this now.
Coverage summary from CodacySee diff coverage on Codacy
Coverage variation details
Coverage variation is the difference between the coverage for the head and common ancestor commits of the pull request branch: Diff coverage details
Diff coverage is the percentage of lines that are covered by tests out of the coverable lines that the pull request added or modified: See your quality gate settings Change summary preferencesFootnotes
|
stefanhaller
added a commit
to karolzwolak/lazygit
that referenced
this pull request
Nov 15, 2025
Remove unnecessary error checks: - forkUsername needn't be checked because as of PR jesseduffield#5043, the result of a Prompt call can no longer be an empty string - if the originUrl is empty for some reason, this will be caught by the "unsupported or invalid remote URL" error check below, which is good enough for this very unlikely case.
tmeijn
pushed a commit
to tmeijn/dotfiles
that referenced
this pull request
Dec 12, 2025
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [jesseduffield/lazygit](https://github.com/jesseduffield/lazygit) | minor | `v0.56.0` -> `v0.57.0` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>jesseduffield/lazygit (jesseduffield/lazygit)</summary> ### [`v0.57.0`](https://github.com/jesseduffield/lazygit/releases/tag/v0.57.0) [Compare Source](jesseduffield/lazygit@v0.56.0...v0.57.0) <!-- Release notes generated using configuration in .github/release.yml at v0.57.0 --> #### What's Changed ##### Enhancements 🔥 - Open pull requests in browser with extra leading slashes removed by [@​hrzlgnm](https://github.com/hrzlgnm) in [#​5018](jesseduffield/lazygit#5018) - Allow using SelectedSubmodule in CustomCommands by [@​rlkandela](https://github.com/rlkandela) in [#​5015](jesseduffield/lazygit#5015) - Don't allow empty input in most prompts by [@​stefanhaller](https://github.com/stefanhaller) in [#​5043](jesseduffield/lazygit#5043) - Suppress output from background fetch (unless there were errors) by [@​stefanhaller](https://github.com/stefanhaller) in [#​5044](jesseduffield/lazygit#5044) - feat: add fork remote command by [@​karolzwolak](https://github.com/karolzwolak) in [#​4831](jesseduffield/lazygit#4831) - Trigger immediate background fetch when switching repos by [@​stefanhaller](https://github.com/stefanhaller) in [#​5047](jesseduffield/lazygit#5047) ##### Fixes 🔧 - Keep cursor at top/bottom when navigating by page by [@​RaphaeleL](https://github.com/RaphaeleL) in [#​5019](jesseduffield/lazygit#5019) - Switch to branches view when checking out a commit by [@​stefanhaller](https://github.com/stefanhaller) in [#​5048](jesseduffield/lazygit#5048) - Fix deleting a remote tag when a remote branch with the same name exists, or vice versa by [@​stefanhaller](https://github.com/stefanhaller) in [#​5075](jesseduffield/lazygit#5075) - Show fixup base commits in correct order in ctrl-f error message by [@​stefanhaller](https://github.com/stefanhaller) in [#​5073](jesseduffield/lazygit#5073) - Band-aid fix for rare crashes when refreshing files by [@​stefanhaller](https://github.com/stefanhaller) in [#​5074](jesseduffield/lazygit#5074) - Fix to support creating MRs for repositories cloned with SSH alias by [@​roveo](https://github.com/roveo) in [#​5082](jesseduffield/lazygit#5082) ##### Maintenance ⚙️ - Keep config and schema unchanged during a release by [@​stefanhaller](https://github.com/stefanhaller) in [#​5010](jesseduffield/lazygit#5010) - Modernize all codes by [@​phanen](https://github.com/phanen) in [#​5036](jesseduffield/lazygit#5036) - Bump golang.org/x/crypto from 0.37.0 to 0.45.0 by [@​dependabot](https://github.com/dependabot)\[bot] in [#​5054](jesseduffield/lazygit#5054) - Don't use "HEADLESS" environment variable for running tests by [@​stefanhaller](https://github.com/stefanhaller) in [#​5064](jesseduffield/lazygit#5064) - refactor: use strings.Builder and strings.Repeat to simplify code by [@​boqishan](https://github.com/boqishan) in [#​5068](jesseduffield/lazygit#5068) - chore: fix function name in comment by [@​riyueguang](https://github.com/riyueguang) in [#​4481](jesseduffield/lazygit#4481) ##### Docs 📖 - Add a "Commit history" section to CONTRIBUTING.md by [@​stefanhaller](https://github.com/stefanhaller) in [#​5022](jesseduffield/lazygit#5022) - Update table of contents in README.md by [@​madscientist16](https://github.com/madscientist16) in [#​5045](jesseduffield/lazygit#5045) - Update docs and schema for release by [@​stefanhaller](https://github.com/stefanhaller) in [#​5091](jesseduffield/lazygit#5091) ##### I18n 🌎 - Update translations from Crowdin by [@​stefanhaller](https://github.com/stefanhaller) in [#​5090](jesseduffield/lazygit#5090) ##### Performance Improvements 📊 - Fix and speed up the file list for the "Enter path to filter by" feature by [@​stefanhaller](https://github.com/stefanhaller) in [#​5056](jesseduffield/lazygit#5056) #### New Contributors - [@​hrzlgnm](https://github.com/hrzlgnm) made their first contribution in [#​5018](jesseduffield/lazygit#5018) - [@​RaphaeleL](https://github.com/RaphaeleL) made their first contribution in [#​5019](jesseduffield/lazygit#5019) - [@​rlkandela](https://github.com/rlkandela) made their first contribution in [#​5015](jesseduffield/lazygit#5015) - [@​phanen](https://github.com/phanen) made their first contribution in [#​5036](jesseduffield/lazygit#5036) - [@​madscientist16](https://github.com/madscientist16) made their first contribution in [#​5045](jesseduffield/lazygit#5045) - [@​karolzwolak](https://github.com/karolzwolak) made their first contribution in [#​4831](jesseduffield/lazygit#4831) - [@​boqishan](https://github.com/boqishan) made their first contribution in [#​5068](jesseduffield/lazygit#5068) - [@​riyueguang](https://github.com/riyueguang) made their first contribution in [#​4481](jesseduffield/lazygit#4481) - [@​roveo](https://github.com/roveo) made their first contribution in [#​5082](jesseduffield/lazygit#5082) **Full Changelog**: <jesseduffield/lazygit@v0.56.0...v0.57.0> </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi40Ny4wIiwidXBkYXRlZEluVmVyIjoiNDIuNDcuMCIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Most of our prompts don't (shouldn't) allow empty input, but most callers didn't check, and would run into cryptic errors when the user pressed enter at an empty prompt (e.g. when creating a new branch). Now we simply don't allow hitting enter in this case, and show an error toast instead.
This behavior is opt-out, because there are a few cases where empty input is supported (e.g. creating a stash).